package T41_T50;

import datastructure.TreeNode;

import java.util.ArrayList;
import java.util.List;

public class T45 {
    //思路：优先遍历右子树，确保首先你遍历到的结点一定是右结点
    //记录最大深度，当前结点的深度大于记录深度时，就是符合要求的结点
    public List<Integer> rightSideView(TreeNode root) {
        List<Integer> res=new ArrayList<>();
        dfs(root,0,res);
        return res;
    }
    private void dfs(TreeNode node,int depth,List<Integer> res){
        if (node==null)return;
        //res.size即最大深度
        if (depth==res.size()){
            res.add(node.val);
        }
        dfs(node.right,depth+1,res);    //优先遍历右子树
        dfs(node.left,depth+1,res);
    }

}
